<template>
  <span>
    {{ defMyValue.join('，') }}
  </span>
</template>

<script>
import { queryStdByIds } from '@/api/apply/apl_form.js'
export default {
  props: {
    // 枚举名
    enum: {
      type: String,
      require: true,
    },
    // 枚举值
    value: {
      require: true,
    },
  },
  data() {
    return {
      myValue: this.value ? String(this.value) : null,
      defMyValue: [],
    }
  },
  created() {
    // console.log('myValue', this.myValue)
    if (this.myValue) {
      if (this.enum == 'PORDVARI' || this.enum.indexOf('std') == 0) {
        this.findStd(this.enum, this.myValue)
      } else if(this.enum == 'apl_drpro_fac')  {
        // 药品生产生产线特殊处理
        this.defMyValue.push(this.myValue.replaceAll(',', '，'))
      } else {
        this.findEnumValue(this.enum, this.myValue)
      }
    }
    // console.log('defMyValue', this.defMyValue)
    
  },
  methods: {
    // 查询std表的枚举数据
    async findStd(enumName, value) {
      // 器械的产品品种是多表树, 进行装换
      if (enumName == 'PORDVARI') {
        enumName = 'std_eqpro_vari'
      }
      let res = await queryStdByIds(enumName, String(value))
      // console.log('枚举表', res)
      if (res.code == 0 && res.data) {
        let valueArr = String(value).split(',')
        res.data.forEach((v) => {
          if (valueArr.includes(String(v.id))) {
            this.defMyValue.push(v.name)
          }
        })
      }
    },
    // 查询枚举控件的值
    findEnumValue(enumName, value) {
      // 一般枚举从缓存取
      let enumList = this.$store.getters.getEnumItem(enumName)
      if (enumList.length > 0) {
        for (let v of enumList) {
          if (v.value == value) {
            this.defMyValue.push(v.label)
          }
        }
      } else {
        this.defMyValue.push('未知枚举')
      }
    },
  },
}
</script>

